package maquinaestados;

import entidades.TelhaBase;
import sistema.Sistema;

/**
 * Trabalho DAS - 2014/2015
 * @author a21210380, a21190325, a21210392
 */
public class EstadoMover extends Estado {
    private final TelhaBase telhaSelecionada;
    
    public EstadoMover(TelhaBase telhaSelecionada) {
        this.telhaSelecionada = telhaSelecionada;
    }

    public TelhaBase getTelhaSelecionada() {
        return telhaSelecionada;
    }
    
    @Override
    public Estado drag(float x, float y, boolean fim) {
        Sistema.getInstance().getMoverEstrategia().mover(telhaSelecionada, x, y);
        if(fim) {
            return new EstadoNormal();
        } else {
            return this;
        }
    }

    @Override
    public Estado click(float x, float y, boolean ctr) {
        return this;
    }
    
    @Override
    public String toString() {
        return "EstadoMover";
    }
    
    @Override
    public void accept(IEstadoVisitante visitor) {
        visitor.visitante(this);
    }
}
